﻿var Egreso =
{
    /* Identificador del Objeto */
    IdentityName: 'Egreso'

    /* Configuracion de Columnas para la Grilla */
    , Columns:
        [
             { display: '&nbsp', name: 'Id', width: 40, sortable: false, align: 'center', hide: false } 
            , { display: 'CuentaCorriente', name: 'NmrCuenta', width: 85, sortable: false, align: 'center', hide: false }
            , { display: 'FchDocumento', name: 'FchDocumento', width: 65, sortable: true, align: 'center', hide: false }
            , { display: 'NmrDcto', name: 'NmrDocumento', width: 65, sortable: true, align: 'center', hide: false }
            , { display: 'Glosa', name: 'Glosa', width: 265, sortable: false, align: 'left', hide: false }
            , { display: 'Monto', name: 'Monto', width: 65, sortable: true, align: 'right', hide: false }
            , { display: 'UserName', name: 'UserName', width: 65, sortable: false, align: 'left', hide: false }
            , { display: 'Estado', name: 'EstadoText', width: 85, sortable: true, align: 'center', hide: false }
        ]

    /* Propiedades Publicas */
    , Estado : $(':input[id$="ctlEstado"]')
    , FchDocumento : $(':input[id$="ctlFchDocumento"]')
    , NmrDocumento : $(':input[id$="ctlNmrDocumento"]')
    , Monto : $(':input[id$="ctlMonto"]')
    , CuentaCorriente: $(':input[id$="ctlCuentaCorriente"]')
    , FchDesde: $(':input[id$="ctlFchDesde"]')
    , FchHasta: $(':input[id$="ctlFchHasta"]')

    /* Objeto destinado a la Busqueda */
    , Item: function() {
        return {
                 Estado : ($(Egreso.Estado).val() == "0"? "":$(Egreso.Estado).val())
               , FchDocumento : $(Egreso.FchDocumento).val()
               , NmrDocumento : $(Egreso.NmrDocumento).val()
               , Monto : $(Egreso.Monto).val()
               , CuentaCorriente: $(Egreso.CuentaCorriente).val()
               , FchDesde: $(Egreso.FchDesde).val()
               , FchHasta: $(Egreso.FchHasta).val()
        };
    }

    /* Inicializacion del Objeto */
    , Init: function() {
        $.Mantto.GrillaConfig(Egreso);
        Egreso.Custom();
        Egreso.Handler();
    }
    /* Personalizacion de las Entradas */
    , Custom: function() {
	   $('.date-pick').datePicker({createButton:false, startDate: '01/01/1900'})
		   .click(function(e) {
		      $(this).dpDisplay(); //mostrar calendario
			   this.blur(); //liberar el foco
			   return false;
		   })
		   .bind('dateSelected', function(e, selectedDate, $td) {
		       $(':input', $(e.target).parent()).val(selectedDate.asString());
		   });
    }
    /* Eventos del Objeto */
    , Handler: function() {
       var reglas = '{'
            +  $(Egreso.Monto).attr('id') + ': { "fxname": "decimal", "params" : { "lint" : 10, "rint" : 0 }, "message": "Se espera un valor num&eacute;rico" }'
            + ',' + $(Egreso.FchDocumento).attr('id') + ': { "fxname": "fecha", "message": "Fecha Invalida" } '
            + ',' + $(Egreso.FchDesde).attr('id') + ': { "fxname": "fecha", "message": "Fecha Invalida" } '
            + ',' + $(Egreso.FchHasta).attr('id') + ': { "fxname": "fecha", "message": "Fecha Invalida" } '
            + '}';
       $('a:[id$="btnBuscar"]').validaInput({
          rules: JSON.parse(reglas)
          , onAproved: function() {
             $.Mantto.GrillaSearch(Egreso);
          }
       });
    }
};

$(document).ready(function() {
    Egreso.Init();
});
